草庐IT

C++ ifstream 未声明的标识符

全部标签

c++ - Windows VK_ 常量是如何声明的?

例如VK_LEFT、VK_DELETE、VK_ESCAPE、VK_RETURN等。它们是如何声明的,在哪里声明的?它们是常量、#defines还是其他?它们来自哪里?如果可能,请提供声明它们的文件名/路径。或者其他一些尽可能具体的信息。 最佳答案 这些是在PlatformSDK的winuser.h文件中使用#define声明的。在我安装的VisualStudio2008中,完整路径是C:\ProgramFiles\MicrosoftSDKs\Windows\v6.0A\Include\WinUser.h

C++:函数变量声明,它在内部是如何工作的?

这已经困扰我很长时间了:假设我有一个函数:voidtest(){intt1,t2,t3;intt4=0;intbigvar[10000];//dosomething}计算机如何处理变量的内存分配?我一直认为变量空间保存在.exe中,然后计算机会读取,这是正确的吗?但据我所知,bigvar数组在.exe中不占用10000个int元素空间,因为它未初始化。那么当我调用函数时它的内存分配是如何工作的呢? 最佳答案 像这样的局部变量通常使用处理器的stack实现.这意味着编译器唯一需要做的就是计算每个变量的大小,并将它们相加。总和是在函数入

c - 如果声明了一个大变量,为什么 C 程序会崩溃?

我在MicrosoftVisualStudioExpress2012中编译了以下C程序:intmain(){inta[300000];return0;}这会因msvcr110d.dll!__crtFlsGetValue()中的堆栈溢出而崩溃。如果我将数组大小从300,000更改为200,000,它可以正常工作(这个简单的程序可以说是“有效”,因为它什么都不做)。我在Windows7上运行,也曾在Cygwin下使用gcc进行过尝试,它产生了相同的行为(在本例中为段错误)。这到底是怎么回事? 最佳答案 C中自动对象使用的空间大小(“堆栈

c# - 即使队列已重命名,如何在 Windows 上唯一标识打印队列?

如何唯一可靠地识别给定服务器上的Windows打印队列,包括跨打印队列重命名?我想处理如下情况:Jdoe创建打印机A我的程序在某个时候收集了打印机A的信息Jdoe将打印机A重命名为打印机AA我的程序在某个时候再次收集有关打印机AA的信息如何判断打印机A和打印机AA是同一台打印机(名称已更改)?我想在支持WindowsXP/2003及更高版本的C#中执行此操作。我尝试过的事情:在Windows8/Server2012上,我似乎可以通过WMI查看CIM_LogicalDevice->DeviceID来执行此操作,这似乎在重命名过程中保持一致,但在早期版本的操作系统中,此属性仅包含队列名称并

windows - 将包提交到 Windows Phone 商店时出现无效的包标识错误

在重定向到WindowsPhone8.1后需要一些帮助来提交我的更新包。在visualstudio中加载我的解决方案后,我单击重新定位到windowsphone8.1。后来创建了AppxManifest文件,现在我对应用程序代码进行了更改并构建了XAP。当我在WindowsPhone商店中提交此版本时,我遇到了以下错误:Invalidpackageidentityname:2xxxxxxx-xxxx-xxxx-bxxx-xxxxxxxxxxxx(expected:)Invalidpackagefamilyname:2xxxxxxx-xxxx-xxxx-bxxx-xxxxxxxxxxxx

Windows 唯一标识符?

于是就有了这个软件。当以某种方式安装它时(可能读取文件或注册表项)识别我的Windows操作系统。它应该只为每台独特的计算机执行一次任务。如果我卸载该程序并重新安装它,该软件会记住它已经安装,因此不会执行该任务。如果我使用系统还原,软件也不会执行任务。如果我在安装前加载系统镜像,软件也不会执行任务。如果我重新安装Windows的全新副本,则只有软件可以完成任务。IP甚至无所谓。一切都一样,只是它是全新的Windows操作系统副本。所以我猜该软件会读取某种唯一的操作系统标识符,然后连接到服务器以创建用户配置文件。那么问题来了?软件用来检查系统标识符的那些文件可能是什么?到目前为止,我发现

windows - 是否可以找到 DLL 中声明的结构的大小?

我们的产品中有大量相互关联的DLL。这是一个非常“古老”的产品(因为它已经开发了20多年),并且在过去因多个版本的VisualStudio的结构打包默认值不同而受到影响。因此,在许多情况下,#pragmapack未在DLL头文件中使用,而是在项目属性中设置了结构对齐方式,我们可能会遇到这样的情况:导入DLL(通过其库和header)的项目具有不同的结构对齐方式,并可能导致结构大小不匹配。结构可以通过“意外”正确调整大小这一事实使情况变得复杂-例如如果结构的所有成员都是unsignedint那么DLL中的pack(4)和导入项目中的pack(2)可以正常工作.当然,直到有人修改结构以添加

windows - 获取应用程序池的标识

给定一个特定的应用程序池,是否有办法获取与其关联的身份?在上图中,我正在尝试获取“NetworkService”。我试过以下方法:Import-ModuleWebAdministrationGet-ItemIIS:\AppPools\DeFaultAppPool|Select-Object*但是,身份无处可寻:有没有办法获取与之关联的身份? 最佳答案 可以在processModel.identityType下找到:(Get-ItemIIS:\AppPools\DefaultAppPool).processModel.identity

c# - 如何在 while 循环中声明公共(public)字符串 (C#)

我目前正在尝试在while循环中声明一个公共(public)字符串,因为我想在其他方法中使用它(字符串)有问题的字符串是“s”privatevoidCheckLog(){bool_found;while(true){_found=false;Thread.Sleep(5000);if(!System.IO.File.Exists("Command.bat"))continue;using(System.IO.StreamReadersr=System.IO.File.OpenText("Command.bat")){strings="";while((s=sr.ReadLine())!

c# - 声明类型的 MethodInfo 相等性

我需要检查两个MethodInfo之间的相等性。它们实际上是完全相同的MethodInfo,除了ReflectedType(也就是说,DeclaringType是相同的,方法实际上应该具有相同的主体)。有多种方法可以做到这一点,但我正在寻找最有效的方法。现在我有:publicstaticboolAreMethodsEqualForDeclaringType(thisMethodInfofirst,MethodInfosecond){first=first.ReflectedType==first.DeclaringType?first:first.DeclaringType.GetMe